package model

import "RoccBlog/global"

// ProjectItem 项目管理
type ProjectItem struct {

	// Id Id
	Id int `json:"id" gorm:"primaryKey;autoIncrement"`

	// Name 项目名称
	Name string `json:"name" gorm:"type:varchar(30);comment:项目名称"`

	// Remark 备注信息
	Remark string `json:"remark" gorm:"type:tinytext;comment:备注信息"`

	// CreateTime 创建事件
	CreateTime *LocalTime `json:"createTime" gorm:"autoCreateTime;type:datetime;comment:创建事件"`

	// CreateBy 创建人
	CreateBy int `json:"createBy" gorm:"type:int;comment:创建人"`

	TaskProgress []TaskProgress `json:"taskProgress" gorm:"constraint:OnDelete:CASCADE"`
}

// TaskProgress 任务进度
type TaskProgress struct {

	// Id Id
	Id int `json:"id" gorm:"primaryKey;autoIncrement"`

	// ProjectItemID ProjectItemID
	ProjectItemID int `json:"projectItemID" gorm:"type:int;comment:ProjectItemID"`

	// Title 任务标题
	Title string `json:"title" gorm:"type:varchar(30);comment:任务标题"`

	// Content 任务内容
	Content string `json:"content" gorm:"type:text;comment:任务内容"`

	// CreateBy 创建人
	CreateBy int `json:"createBy" gorm:"type:int;comment:创建人"`

	// CreateTime 创建日期
	CreateTime *LocalTime `json:"createTime" gorm:"autoCreateTime;type:datetime;comment:创建日期"`

	// Progress 任务进度
	Progress float64 `json:"progress" gorm:"type:double(4,2);comment:任务进度"`
}

// 注册到gorm中
func init() {
	global.RegisterModel(&ProjectItem{})
	global.RegisterModel(&TaskProgress{})
}
